package com.neuedu.his.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.neuedu.his.mapper.ConstantitemMapper;
import com.neuedu.his.po.Constantitem;
import com.neuedu.his.service.ConstantitemService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * 针对表【constantitem】的数据库操作Service实现
 */
@Service
public class ConstantitemServiceImpl extends ServiceImpl<ConstantitemMapper, Constantitem>
        implements ConstantitemService {

    // 新增记录(使用MyBatis-Plus的save方法，ID自增)
    @Override
    @Transactional
    public boolean saveConstantItem(Constantitem constantitem) {
        // 确保新增记录的DelMark为1(未删除)
        constantitem.setDelmark(1);
        return this.save(constantitem);
    }

    // 逻辑删除(将DelMark设置为0)
    @Override
    @Transactional
    public boolean deleteLogicalById(Integer id) {
        return baseMapper.deleteByIdLogical(id) > 0;
    }

    // 更新记录(根据ID更新全部字段)
    @Override
    @Transactional
    public boolean updateAllFields(Constantitem constantitem) {
        return baseMapper.updateAllFieldsById(constantitem) > 0;
    }

    @Override
    public List<Constantitem> listActiveItems() {
        return baseMapper.findAllActiveItems();
    }

    @Override
    public Constantitem findByConstantCode(String code) {
        return baseMapper.findByConstantCode(code);
    }
}